package com.foreknow.demo4;

import java.util.Scanner;

/**
 *  方法练习
 */
public class ExampleMethod1 {
    /**
     * 1. 找出数组中最大值的下标位置
     */
    public static int max() {
        int maxnum = 0;
        int[] putin = new int[7];
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个数组(7位)：");
        for (int i = 0;i<putin.length;i++) {
            putin[i] = input.nextInt();
        }
        int nummax = putin[0];
        for (int i = 1;i<putin.length;i++) {
            if (putin[i]>nummax) {
                maxnum = i;
                nummax = putin[i];
            }
        }
        return maxnum;
    }

    /**
     * 2. 找出数组中最小值的下标位置
     */
    public static int min() {
        int minnum = 0;
        int putin[] = new int[7];
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个数组(7位)：");
        for (int i = 0;i<putin.length;i++) {
            putin[i] = input.nextInt();
        }
        int nummin = putin[0];
        for (int i = 1;i<putin.length;i++) {
            if (putin[i]<nummin) {
                minnum = i;
                nummin = putin[i];
            }
        }
        return minnum;
    }

    /**
     * 3. 找出数组中制定元素的下标位置
     * public static
     * 返回值类型：返回的是数组的下标位置  int
     * 方法名
     * 参数 ：  1. 制定数组 int[] array   2. 告诉方法指定要查询的数据
     */
    public static int position() {
        int ponum = 0;
        int[] array = new int[7];
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个数组(7)：");
        for (int i = 0;i<array.length;i++) {
            array[i] = input.nextInt();
        }
        System.out.println("请输入您要查询的数字：");
        int select = input.nextInt();
        for (int i = 0;i<array.length;i++) {
            if (select == array[i]) {
                ponum = i;
                break;
            }
        }
        return ponum;
    }

    /**
     * 4. 获取数组中指定下标的元素
     */
    public static int index() {
        int number = 0;
        int array[] = new int[7];
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个数组(7位)：");
        for (int i = 0;i<array.length;i++) {
            array[i] = input.nextInt();
        }
        System.out.println("请输入您要查询的下标位置：");
        int ponum = input.nextInt();
            for (int i = 0;i<array.length;i++) {
                if (i == ponum) {
                    number = array[i];
                    break;
                }
            }
            return number;
    }

    /**
     *  5. 在指定的位置插入指定的元素
     *     1 3 5 7 9 11 13 15 17 0    注意：0是无效元素(用来占位)
     *     1 3 5 7 9 22 11 13 15 17
     *
     *     定义方法：
     *     1. public static
     *     2. 返回值类型 (boolean)
     *     3. 参数(1.要插入数据的数组  2.指定插入数据的下表位置  3.要插入的数据 )
     */
    public static boolean insert() {
        boolean success = false;
        int[] array = new int[10];
        array[0] = 1;
        array[1] = 3;
        array[2] = 5;
        array[3] = 7;
        array[4] = 9;
        array[5] = 11;
        array[6] = 13;
        array[7] = 15;
        array[8] = 17;
        array[9] = 0;
        Scanner input = new Scanner(System.in);
        System.out.println("请输入您要插入的元素");
        int number = input.nextInt();
        System.out.println("请输入您要插入的位置");
        int position = input.nextInt();
        for (int i = 0;i<array.length;i++) {
            if (i == position) {
                int putin1 = array[i];
                array[i] = number;
                array[i+1] = putin1;
                for (int j = position+1;j<array.length;j++) {
                    int putin2 = array[j+1];
                    array[j+1] = putin2;
                }
                success = true;
            }
        }
        System.out.println(array);
        return success;
    }

    /**
     * 6.删除数据中指定下标的元素
     * 1 3 5 7 9 11 13 15 17 19
     * 1 3 5 7 11 13 15 17 19 0    (用0占位)
     * 参数( 1.要删除数据的数组  2.指定删除数据的下标位置)
     */

    public static void main(String[] args) {
        //int max = max();
        //System.out.println("最大值的下标位置为：" + max);

        //int min = min();
        //System.out.println("最小值的下标位置为：" + min);

        //int ponum = position();
        //System.out.println("您要查询的数字的下标位置为：" + ponum);

        //int number = index();
        //System.out.println("您要查询的下标位置所对应的数字为：" + number);

        boolean seccess = insert();
        if (seccess = true) {
            System.out.println("插入成功！");
        } else {
            System.out.println("插入失败！");
        }
    }
}












